package com.smartfactory.sail.utils;


import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author 王巨壁
 * @title: StringUtils
 * @projectName smart-sail
 * @description: TODO
 * @date 2019/7/3022:17
 */
public class StringUtils {

    public static final int IDENTITYCODE_OLD = 15; // 老身份证15位
    public static final int IDENTITYCODE_NEW = 18; // 新身份证18位
    public static int[] Wi = new int[17];

    public static boolean isEmpty(String string) {
       return string == null || string.equals("") ? true : false;
    }

    /**
     * 判断身份证号码是否正确。
     *
     * @param code
     *            身份证号码。
     * @return 如果身份证号码正确，则返回true，否则返回false。
     */
    public static boolean isIdentityCode(String code) {

        if (StringUtils.isEmpty(code)) {
            return false;
        }

        code = code.trim().toUpperCase();

        // 长度只有15和18两种情况
        if ((code.length() != IDENTITYCODE_OLD)
                && (code.length() != IDENTITYCODE_NEW)) {
            return false;
        }

        // 身份证号码必须为数字(18位的新身份证最后一位可以是x)
        Pattern pt = Pattern.compile("(^\\d{15}$)|(\\d{17}(?:\\d|x|X)$)");
        Matcher mt = pt.matcher(code);
        if (!mt.find()) {
            return false;
        }

        return true;
    }
}
